package com.boss.salary.service;

import com.boss.common.entity.PageDTO;
import com.boss.framework.dto.PaginationDTO;
import com.boss.framework.exception.AppRuntimeException;
import com.boss.salary.entity.SalaryBasedata;

import java.util.List;
import java.util.Map;

public interface ISalaryBasedataService {
    /**
     * 分页查询 工资项基础数据
     * @param paginationDTO
     * @return
     * @throws AppRuntimeException
     */
    PageDTO<SalaryBasedata> querySalaryBasedataPage(PaginationDTO paginationDTO,String province) throws AppRuntimeException;

    /**
     * 增加 工资项基础数据
     * @param salaryBasedata
     * @return
     */
    void saveSalaryBasedata(SalaryBasedata salaryBasedata,String province);

    /**
     * 更新 工资项基础数据
     * @param salaryBasedata
     * @return
     */
    void updateSalaryBasedata(SalaryBasedata salaryBasedata);

    /**
     * 保存 工资项目维护数据
     * @param salaryBasedataList
     */
    void submitSalaryBasedata(List<SalaryBasedata> salaryBasedataList,String province) throws Exception;

    /**
     * 根据id删除 工资项基础数据
     * @param id
     * @return
     */
    void deleteSalaryBasedata(String id);

    /**
     * 根据条件获取工资项信息
     * @param queryParam
     * @return
     */
    List<SalaryBasedata> querySalaryBaseDataInfo(Map<String, Object> queryParam);

    /**
     * 根据条件获取挂接指标用工资项信息
     * @param queryParam
     * @return
     */
    List<SalaryBasedata> queryBgtSalaryBaseDataInfo(Map<String, Object> queryParam);
    /**
     * 查询标准项
     * @param queryParam
     * @return
     */
    List<SalaryBasedata> queryStandardBasedataInfo(Map<String, Object> queryParam);
}
